package org.jeecg.modules.xindian.reconciliation.dto.req;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@Data
public class OrderPageQuery  extends BaseAuthQuery{
    /**订单号*/
    @Excel(name = "订单号", width = 15)
    @ApiModelProperty(value = "订单号")
    private String orderNo;
    /**保单号*/
    @Excel(name = "保单号", width = 15)
    @ApiModelProperty(value = "保单号")
    private String policyNo;
    /**下单时间*/
    @Excel(name = "下单时间", width = 20, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "查询下单开始时间")
    private Date policyInsurDateBegin;
    /**下单时间*/
    @Excel(name = "下单时间", width = 20, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "查询下单结束时间")
    private Date policyInsurDateEnd;
    /**出保时间*/
    @Excel(name = "出保时间", width = 20, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "查询下单开始时间")
    private Date insureActiveDateBegin;
    /**出保时间*/
    @Excel(name = "出保时间", width = 20, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "查询下单结束时间")
    private Date insureActiveDateEnd;

    /**出保时间*/
    @Excel(name = "下单时间", width = 20, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "查询下单开始时间")
    private Date createDateBegin;
    /**出保时间*/
    @Excel(name = "下单时间", width = 20, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "查询下单结束时间")
    private Date createDateEnd;
    /**下单时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "发票申请开始时间")
    private Date invoiceApplyDateBegin;
    /**下单时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "发票申请结束时间")
    private Date invoiceApplyDateEnd;
    /**区域*/
    @Excel(name = "区域", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
    @Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
    @ApiModelProperty(value = "区域")
    private String areaId;
    /**发票状态*/
    @Excel(name = "发票状态", width = 15, dicCode = "FPZT")
    @Dict(dicCode = "FPZT")
    @ApiModelProperty(value = "发票状态")
    private String invoiceState;
    /**发票类型*/
    @Excel(name = "发票类型", width = 15, dicCode = "FPLX")
    @ApiModelProperty(value = "发票类型")
    @Dict(dicCode = "FPLX")
    private String invoiceType;
    /**保险种类*/
    @Excel(name = "保险种类", width = 15, dicCode = "BXZL")
    @Dict(dicCode = "BXZL")
    @ApiModelProperty(value = "保险种类")
    private String insuranceType;
    /**项目名称*/
    @Excel(name = "项目名称", width = 15)
    @ApiModelProperty(value = "项目名称")
    private String projectName;
    /**项目编号*/
    @ApiModelProperty(value = "项目编号加密")
    private String projectStaticName;
    /**项目编号*/
    @Excel(name = "项目编号", width = 15)
    @ApiModelProperty(value = "项目编号")
    private String projectId;
    /**项目编号*/
    @ApiModelProperty(value = "项目编号加密")
    private String projectStaticId;
    /**被保人名称*/
    @Excel(name = "被保人名称", width = 15)
    @ApiModelProperty(value = "被保人名称")
    private String insuredName;
    /**投保人名称*/
    @Excel(name = "投保人名称", width = 15)
    @ApiModelProperty(value = "投保人名称")
    private String policyHolderName;
    /**投保联系人*/
    @Excel(name = "投保联系人", width = 15)
    @ApiModelProperty(value = "投保联系人")
    private String policyLinkmanName;
    /**投保联系人电话*/
    @Excel(name = "投保联系人电话", width = 15)
    @ApiModelProperty(value = "投保联系人电话")
    private String policyLinkmanMobilename;
    /**保费*/
    @Excel(name = "保费", width = 15)
    @ApiModelProperty(value = "保费")
    private java.math.BigDecimal premium;
    /**保险状态*/
    @Excel(name = "保险状态", width = 15, dicCode = "BXZT")
    @Dict(dicCode = "BXZT")
    @ApiModelProperty(value = "保险状态")
    private String policyState;
    /**保险公司*/
    @Excel(name = "保险公司", width = 15, dicCode = "BXGS")
    @Dict(dicCode = "BXGS")
    @ApiModelProperty(value = "保险公司")
    private String insuranceCompany;
    /**付款状态*/
    @Excel(name = "付款状态", width = 15, dicCode = "ZFZT")
    @Dict(dicCode = "ZFZT")
    @ApiModelProperty(value = "付款状态")
    private String payState;
    /**邀请码*/
    @Excel(name = "邀请码", width = 15)
    @ApiModelProperty(value = "邀请码")
    private String invitationCodeQuery;
    /**付款人名称*/
    @Excel(name = "付款人名称", width = 25)
    @ApiModelProperty(value = "付款人名称")
    private String recAccountName;
    private Integer pageNo;
    private Integer pageSize;
}
